Custom Validation Rules তৈরি করা

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Form Handling এবং Validation |

Custom Validation Rules ব্যবহার করে CodeIgniter-এ ফর্ম বা ডেটা যাচাইয়ের জন্য আপনার নির্দিষ্ট নিয়ম তৈরি করা যায়। CodeIgniter এর বিল্ট-ইন ভ্যালিডেশন রুল ছাড়াও, কাস্টম ভ্যালিডেশন রুল যোগ করার মাধ্যমে আপনি অ্যাপ্লিকেশনকে আরও নমনীয় করতে পারেন।


Custom Validation Rules তৈরি করার ধাপ

ধাপ ১: Validation রুল তৈরি

Custom Validation Rules তৈরি করতে app/Validation ডিরেক্টরিতে একটি নতুন ক্লাস তৈরি করুন।

উদাহরণ:

  1. app/Validation ডিরেক্টরিতে একটি ফাইল তৈরি করুন (যেমন: CustomRules.php)।
  2. ক্লাসের ভেতরে একটি ফাংশন যোগ করুন, যেখানে যাচাইয়ের লজিক থাকবে।
<?php

namespace App\Validation;

class CustomRules
{
    public function validPhone(string $str, string $fields, array $data): bool
    {
        // কাস্টম লজিক: শুধুমাত্র ১১ সংখ্যার ফোন নম্বর গ্রহণ করবে
        return preg_match('/^\d{11}$/', $str) === 1;
    }
}

ধাপ ২: Custom Rules নিবন্ধন করা

Custom Validation Rule ব্যবহার করার জন্য এটিকে CodeIgniter-এ নিবন্ধন করতে হবে।

  1. app/Config/Validation.php ফাইল খুলুন।
  2. $ruleSets অ্যারের মধ্যে আপনার ক্লাসটি যোগ করুন:

    public $ruleSets = [
        \CodeIgniter\Validation\Rules::class,
        \App\Validation\CustomRules::class, // কাস্টম রুল যোগ করা
    ];
    

ধাপ ৩: Custom Rule ব্যবহার করা

Form validation এ Custom Rule ব্যবহার করতে পারবেন।

উদাহরণ:

$validation = \Config\Services::validation();

$rules = [
    'phone' => 'required|validPhone', // Custom Rule 'validPhone' ব্যবহার
];

$data = [
    'phone' => '01712345678',
];

if ($validation->setRules($rules)->run($data)) {
    echo "Validation Passed!";
} else {
    echo "Validation Failed!";
    print_r($validation->getErrors());
}

Custom Validation Rules-এ Error Message সংযুক্ত করা

Custom Validation Rules-এর জন্য নির্দিষ্ট Error Message কনফিগার করা যায়।

Error Message যোগ করার ধাপ:

  1. app/Language/en/Validation.php ফাইলটি খুলুন।
  2. আপনার কাস্টম রুলের জন্য একটি মেসেজ সংযুক্ত করুন:

    return [
        'validPhone' => 'The {field} must be a valid 11-digit phone number.',
    ];
    

উদাহরণ: একটি সম্পূর্ণ কাস্টম রুল ইমপ্লিমেন্টেশন

Custom Rule: বয়স যাচাই

আপনি একটি রুল তৈরি করতে পারেন, যা চেক করবে একজন ব্যবহারকারীর বয়স ১৮-এর উপরে কিনা।

  1. CustomRules.php:

    <?php
    
    namespace App\Validation;
    
    class CustomRules
    {
        public function validAge(string $str, string $fields, array $data): bool
        {
            return (int)$str >= 18;
        }
    }
    
  2. Validation.php এ নিবন্ধন:

    public $ruleSets = [
        \CodeIgniter\Validation\Rules::class,
        \App\Validation\CustomRules::class,
    ];
    
  3. Validation Message যোগ: app/Language/en/Validation.php ফাইল:

    return [
        'validAge' => 'The {field} must be 18 years or older.',
    ];
    
  4. Rule ব্যবহার:

    $rules = [
        'age' => 'required|validAge',
    ];
    
    $data = [
        'age' => 17,
    ];
    
    if ($validation->setRules($rules)->run($data)) {
        echo "Validation Passed!";
    } else {
        print_r($validation->getErrors());
    }
    

Output:

Array
(
    [age] => The age must be 18 years or older.
)

সুবিধা

  1. পুনরায় ব্যবহারযোগ্যতা: একই রুল একাধিক স্থানে ব্যবহার করা যায়।
  2. সহজ ব্যবস্থাপনা: বড় এবং জটিল যাচাই পদ্ধতি কাস্টম রুলের মাধ্যমে সহজে পরিচালনা করা যায়।
  3. Error Message কাস্টমাইজেশন: নির্দিষ্ট ফিল্ড অনুযায়ী ব্যবহারকারীর জন্য কাস্টম মেসেজ দেখানো যায়।

Custom Validation Rules ব্যবহার করে CodeIgniter-এ উন্নত এবং নির্ভুল ভ্যালিডেশন মেকানিজম তৈরি করা যায়, যা অ্যাপ্লিকেশনের ডেটা ইন্টিগ্রিটি নিশ্চিত করে।

Content added By
Promotion